1. Field of the Invention
This invention relates generally to electronic devices capable of storing telephone book information such as names and phone numbers and, more particularly, a method and apparatus for providing alphanumerically sorted access to telephone book information stored in other electronic devices in an embedded system having crucial memory size restrictions with an application demanding immediate response to user initiated requests.
2. Background Art
Various electronic devices which store telephone book information, including names, telephone numbers, facsimile number, email addresses etc., are currently available to consumers and in increasingly common use. Such devices include conventional telephones, cellular or wireless telephones, Personal Digital Assistants (PDAs), portable email terminals and personal computers (PCs). Unfortunately, the information stored in one device often cannot be accessed by another device. For example, if a user stores telephone book information in a PDA, that telephone book information typically cannot be accessed from the user's cellular telephone. Rather, to locate and dial a telephone number the user must first look up the desired name and phone number on the PDA and then type the phone number into the telephone keypad. This can be a cumbersome task—especially when the user does not have both hands available or needs to make several telephone calls.
Certain prior art attempts have been made to address this problem. For example, some devices offer the user the ability “synchronize” with another device via and infrared (IR) link, a serial cable, a USB cable, or a wireless communications link whereby the data stored in one device is made to resemble the data stored in the other device and changes made to the data in either device are reflected in both devices. Accordingly an exact copy of the data is made to exist in each of the first and second devices. While useful, most methods of synchronization have some drawbacks. First, since these methods typically require that both devices dedicate enough memory to store the entirety of the synchronized data as the synchronization process copies each record completely between devices. Second, synchronization techniques typically require sophisticated software capable of translating between what are often proprietary data formats. Finally, records stored in a device are up to date only as of the last time the devices were synchronized. If a particular record has been updated on one of the devices since the last synchronization, the updated information will not be available to the other device.
In order to encourage interoperability between devices, manufacturers often publish interface specifications for interfacing with their devices. For example, Nokia Group Finland provides instructions for interfacing a NOKIA telephone with a personal computer in the document entitled Nokia PC Connectivity SDK 2.1 Component Library Reference for Nokia Phones. Thus, techniques for accessing phonebook and other information stored by portable electronic devices are known in the art.
Many portable electronic devices, such as GSM cellular telephones which store phonebook information on SIM cards, also store phonebook entries in the order in which they are entered in the memory by the user. Thus, the entries are typically not sorted alphabetically or in any other orderly fashion within the device memory. In accordance with another aspect of the invention, unsorted information in the phonebook of a first device can be displayed in alphabetical sequence on another device without storing the entire contents of the phonebook information.
Thus, with typical prior art devices, a user must either (1) independently access and constantly juggle more than one device to “share” information, or (2) spend a great deal of time and effort entering, updating and synchronizing telephone book information in each device that the user owns. This is not only inconvenient, but in some cases increases the cost of the device, as well as the time and effort required to operate them.
Accordingly, one advantageous aspect of the invention provides for reduced memory costs and improved convenience by providing a method and apparatus for making telephone book information stored in a first electronic device available to other electronic devices without having to store the entirety of the first device's information in each of the other devices.
In some applications typical prior art synchronization techniques may also raise privacy and security concerns. For example, a visitor may desire to interface his cellular phone with the home telephone system of a personal being visited, so that the cellular phonebook is accessible via the home telephone system for the duration of the visit. However, it may not be desirable to provide the home telephone system with a permanent copy of the cellular user's entire phonebook. Therefore, another aspect of the present invention allows a user to interface an electronic device with other devices without the wholesale copying of private information.
Yet another aspect of the present invention allows the use of EEPROM memory because the need for fast read/write times is reduced. Home telephones or other access devices may also be constructed with smaller amounts of memory, thus lowering cost and improving reliability.
The prior art has included the use of software based hash tables to access stored data. A typical hash table comprises a data table storing items or keys in which keys are mapped to array positions by a hash function. The hash function typically maps keys to integers, such as to get an even distribution on a smaller set of values.
Conventional hash tables have significant drawbacks that have prevented their use in the context of the aforementioned application. In particular hash tables typically use linked lists that require more memory than tables. This may be undesirable for an embedded application in a consumer product. Moreover, hash tables are typically oversized to ensure that only few entries are made in each slot which again unfavorably impacts memory requirements. The access performance of a conventional hash table rapidly degrades when a single hash table slot contains numerous entries. In particular, scrolling in alphanumerical order through a “classic” hash table slows down proportionally to the number of entries of the slots. Similarly “unnecessary” redundant accesses to data pointed to by the hash table entries increase proportionally to the number of entries of the slots.
The present invention circumvents these limitations. A local data structure is implemented on a home phone to provide access to the address book stored in the memory of a cell phone from the comfort of a home phone (corded or cordless base or handset). Using the methods of the present invention the home phone can initialize and maintain the local data structures to the aforementioned purpose with a total memory size significantly smaller than that of the cell phone address book.
These and other desirable characteristics of the present invention will become apparent in view of the present specification and drawings.